package Pattern_Matcher;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexDemo6 {
    public static void main(String[] args) {
/* 有如下文本，请按照要求爬取数据。
Java自从95年问世以来，经历了很多版本，目前企业中用的最多的是Java8和Java11，
因为这两个是长期支持版本，下一个长期支持版本是Java17，相信在未来不久Java17也会逐渐登上历史舞台
要求：找出里面所有的JavaXX
*/

                String str = "Java自从95年问世以来，经历了很多版本，目前企业中用的最多的是Java8和Java11，" +
                        "因为这两个是长期支持版本，下一个长期支持版本是Java17，相信在未来不久Java17也会逐渐登上历史舞台";

       Pattern p=Pattern.compile("Java\\d{0,2}");
       Matcher m=p.matcher(str);
       while(m.find())
       {
           String s=m.group();
           System.out.println(s);
       }
    }

    private static void method(String str) {
        //Pattern:表示正则表达式
//Matcher文本匹配器:按照正则表达式的规则读取字符串,从头开始读
//大串中去找符合规则的子串
        //获取正则表达式对象
        Pattern p=Pattern.compile("Java\\d{0,2}");
        //获取文本匹配器对象
        //大串:str
        //p规则
        //m在str中找符合p规则的子串
        Matcher m=p.matcher(str);
        //拿着文本匹配器读取
        //如果没有,返回false
        //如果有,返回true,在底层记录子串的起始索引和结束索引+1
        boolean b=m.find();
        //方法底层根据find方法记录的索引进行截取
        //subString(起始索引,结束索引);包头不包尾
        //会把截取的字符串进行返回
        String s1=m.group();
        System.out.println(s1);
    }
}
